In some applications of microcomputers, it is desired to access a server in an assembly of servers as if the server were attached directly to a keyboard, video monitor and mouse (KVM), the server and KVM thus constituting a standalone microcomputer system. It is further desired to be able to switch at any time from one such server to another. With this ability, a single user, operating the KVM, can monitor the execution of any of the servers in the assembly of servers. Usually, instead of a single user, it is desired that at least two users, each operating a different KVM, be able to switch among servers in the same assembly.
The prior art teaches a switching system that achieves the desired goals. As shown in FIGS. 1A–1C, the prior art teaches a linear switch node 11 that can be used by a keyboard-video-mouse combination (KVM) 12 to switch from one server 13a to another server 13b by switching a connection through a server port 16a to a server port 16b.
Alternatively, the linear switch node can be used to connect the KVM 12 to a server 13′ attached to another linear switch node 11′ using a connection through an expansion port 14. The other linear switch node 11′ can in turn be connected to even another switch node 11″.
With this arrangement, the first linear switch node 11 can be used by a user operating the KVM 12 to access either a server 13a or 13b attached directly to the linear switch node 11, or a server 13′ attached to the next linear switch node 11′, or servers attached to linear switch nodes farther removed from the first linear switch 11, in a linear array of switch nodes made possible by the prior art. For this arrangement, each switch node 11 11′ 11′″ includes two expansion ports 14, each of which is unidirectional. Thus, for example, linear switch node 11′ has an outgoing connection 14b′ and an incoming connection 14a″. With such an arrangement, the operator of KVM 12′ downstream from the first linear switch node 11 can access only servers directly attached to the linear switch node 11′ to which it is attached, or servers attached to switch nodes 11″ 11′″ downstream from that switch node. Further, an operator of a KVM 12 attached to the first linear switch node 11, in order to access a server 13″ attached to a linear switch node 11″ more than one switch node downstream from the first switch node, must have the first linear switch node 11 connect to the server 13″ through the intermediate linear switch nodes 11′ 11″. It is not possible according to the prior art for the first linear switch node 11 to connect to a server 13″ that is attached to a linear switch node 11″ not in turn connected directly to the first linear switch node 11, without making use of a connection between the intermediate linear switch node 11′. Further, it is not possible for a user of a KVM 12′ attached to a downstream linear switch node 11′ to connect to a server 13 attached to an upstream linear switch node 11.
With such a linear array of switch nodes, if a user of a KVM 12 attached to a first linear switch node 11 desires to connect to a server 13″ attached to a linear switch node 11″ separated from the first switch node by an intermediate switch node 11′ connections allocated to other users (because of users using KVMs 12′ attached to the intermediate switch node 11′) or malfunction of the intermediate switch node can impede or obstruct the desired connection.
What is needed is a switch node that allows a user of a KVM attached to the switch node to access not only the servers attached directly to the switch node, but also to access servers attached to any other switch node, with or without having to connect to intermediate switch nodes, i.e. to reach a server attached to another switch node by connecting directly to the other switch node and having the other switch node provide a connection to the attached server. Further what is needed is a way for a user of a KVM attached to a switch node anywhere in a network of switch nodes (not necessarily a linear array) to access a server connected to any other switch node in different ways, i.e. to have available a choice of connection paths to a server attached to another switch node, and so to be able to choose a preferred path depending on connections, or to still make a connection even if equipment malfunction blocks the most direct connection path.